Testing Object-Oriented Software: A Survey
نویسنده
چکیده
Component Completeness Checklng Formal Verlflca tlon Component Implementation T Fo rrn al Artifacts Informal Artifacts Behavior Figure 3. ADT artifacts cind verification techniques TESTING OBJECT-ORIENTED SOFTWARE 135 et al., 1981; Dauchy et al., 1993; Doong and Frankl, 1994). Relationships among axioms can be exploited to generate test sequences and test case data (Bougt et al., 1986; Choquet, 1986; Gaudel and Marre, 1988; Bemot et al., 1991; Dauchy et al., 1993; Doong and Frankl, 1994). Most ADT test approaches generate operation sequences which are hoped to be faultrevealing (Jalote and Caballero, 1988; Jalote, 1992; Zweben et al., 1992; Parrish et al., 1993b; Doong and Frankl, 1994). Tests using model-based specifications select sequences by analysing define-use relationships among exported operations (Zweben et al., 1992; Parrish et al., 1993b). A coverage measure may be derived from such a test suite. In contrast, tests using algebraic specifications make use of constraints on operations (axioms) to select paths by a substitution process. Automated support for model validation and consistency checking is discussed in Section 4. Product validation is not discussed here as it can be accomplished by established methods which are not specific to ADTs or object-oriented development. 2.2. Formal verification 2.2.1. Prover’s assistant An early presentation of the ADT approach argues that algebraic specification facilitates proofs by factoring complexity and allowing automated support. ‘Writing the axioms in a certain style allows them to be used as reduction rules so that proofs become largely symbol manipulation exercises.’ (Guttag et al., 1978, p. 1062). ‘Testing’ uses a direct implementation input to the ‘data type verification system’ (DTVS). A direct implementation for data type T is an ‘implementation whose representation part is a subset of the syntactic specification of T and whose program part is a subset of the semantic specification of T.’ (Guttag et al., 1978, p. 1059). The verification process has three steps: ( 1 ) input the specification and implementation to DTVS; (2) use DTVS to generate axioms and equality axioms for the specification (verification conditions); (3) the user attempts to prove the verification conditions, using an automated support for substitution of previously established results. This process is reported to be useful for discovering missing assumptions. The tool keeps track of proofs and does some syntactic checking.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملObjects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملObject-Oriented Software and UML-Based Testing: A Survey Report
As object-oriented paradigm becomes more mature, software development industry and researchers turn their attention towards the paradigm. Features of the paradigm, i.e. encapsulation, information hiding, inheritance, and polymorphism, promote concepts of modularity, reusability, and maintainability. Nowadays, it is clear that object-oriented paradigm, although provides these profitable features...
متن کاملOn Attributes of Objects in Object-Oriented Software Analysis
One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...
متن کاملModelsaz: An Object-Oriented Computer-Aided Modeling Environment
Modeling and simulation of processing plants are widely used in industry. Construction of a mathematical model for a plant is a time-consuming and error-prone task. In light of extensive advancements in computer science (both hardware and software), computers are becoming a necessary instrument in industrial activities. Many software tools for modeling, simulation and optimization of proces...
متن کاملComparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System
Testing is one of the important and indispensable activities of software development life cycle. Software testing makes sure that the developed software satisfies all the customer requirements and executes without error. More researches in the field of software testing are carried out in academic as well as in industry so as to improve the testing process. As there is a major shift in the softw...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw. Test., Verif. Reliab.
دوره 6 شماره
صفحات -
تاریخ انتشار 1996